package com.coolwen.service;

import com.coolwen.entity.Challenge;

import java.util.List;

/**
 * Created by 松红 on 2016/12/10.
 */
public interface ChallengeService {
    /**
     * 通过约战确认状态码进行查找已经确认约战的记录
     *
     * @param isConfirm
     * @return
     */
    List<Challenge> findByConfirmState(String isConfirm, Integer teamId);


    /**
     * 通过ReceiveId查找接受者的challenge
     *
     * @param
     * @return
     */
    List<Challenge> findChallengeByReceiveId(String isConfirm, Integer ReceiveId);



    /**
     * 通过ChallengeId修改比赛输赢状态码
     * @param
     * @return
     */
    int updateChallengeResultByChallengeId(String result, Integer challengeId);




    /**
     * 通过teamId查找发起者的id(sendId)
     *
     * @param teamId
     * @return
     */
    List<Challenge> findSendIdByTeamId(Integer teamId);

    /**
     * 通过约战同意状态码进行查找待确认的约战记录
     *
     * @param AgreeState
     * @return
     */
    List<Challenge> findByAgreeState(Integer AgreeState);

    /**
     * 通过challengeId来修改确认状态码
     *
     * @param challengeId
     * @return
     */
    int updateIsConfrimById(Integer challengeId);

    /**
     * 添加一个约战信息
     *
     * @param challenge
     * @return
     */

    int addChallenge(Challenge challenge, Integer sendId, Integer receiveId,String sendName,String receiveName);

    /**
     * 更改确认状态码为1
     *
     * @param challengeId
     * @return
     */
    int updateAgree(Integer challengeId);

    /**
     * 更改同意状态码为2
     *
     * @param challengeId
     * @return
     */
    int updateAgreeAndConfirm(Integer challengeId);

    /**
     * 更改同意状态码为3
     *
     * @param challengeId
     * @return
     */
    int updateAgainst(Integer challengeId);

    /**
     * 添加主场客场比分
     *
     * @param challengeScore
     * @return
     */

    int updateGameScore(Challenge challengeScore,Integer challengeId);


    /**
     * 修改录入比分状态码
     * @param challengePresent
     * @return
     */

    int updateChallengePresent(Challenge challengePresent);

    /**
     * 将确认状态码改为2
     *
     * @param challengeId
     * @return
     */
    int updateEnd(Integer challengeId);

    /**
     * 将目前约战记录的状态码改为1
     *
     * @param challengeId
     * @return
     */
    int updateEndAndPresent(Integer challengeId);

    /**
     * 将确认状态码改为4
     * @param challengeId
     * @return
     */
    int updateRefuse(Integer challengeId);



    /**
     * 通过Id查询约战信息
     * @param challengeId
     * @return
     */
    Challenge findChallengeById(Integer challengeId);
}
